package com.shujia.wyh.day05;

/*
    重写：当子类中方法的声明与父类中的方法声明一摸一样的时候，只有方法体的实现不同，这个现象叫做方法的重写
    子类重写的权限修饰符的权限不能比父类中的权限要小，建议父类是什么修饰符，子类重写的时候就和父类一样

    面试题：重写与重载的区别？
        1、重载：是发生在同一个类中，方法名一样，参数列表不一样，与返回值类型无关
        2、重写：是发生在继承关系中，当子类中方法的声明与父类中的方法声明一摸一样（返回值类型，方法名，参数列表）的现象

    重写的注意事项：
        1、子类不能重写父类中的私有方法，因为父类的私有方法子类根本无法继承
        2、重写与返回值有关系，而我们之前说的重载是没有关系的
        3、子类无法重写父类中静态方法

 */

class Fu2{
    public void fun1(){
        System.out.println("这是在父类中的fun1方法");
    }

    public void write(){
        System.out.println("父亲会写书法");
    }

    public static void show(){
        System.out.println("这是父类中的静态方法");
    }
}

class Zi2 extends Fu2{
    @Override
    public void write(){
        System.out.println("写书法");
        System.out.println("画山水画");
    }

//    @Override
//    public static void show(){
//        System.out.println("这是子类中重写后的静态方法");
//    }

    public void fun2(){
        System.out.println("100");
    }


    public void fun2(String s){
        System.out.println("你好");
    }
}

public class ExtendsDemo6 {
    public static void main(String[] args) {
        Zi2 zi2 = new Zi2();
//        zi2.fun1();
        zi2.write();
    }
}
